Clean JavaScript. English Edition by Software Crafters

Clean JavaScript. English Edition by Software Crafters

Author:Software Crafters [Software Crafters]
Language: eng
Format: epub, mobi
Publisher: leanpub.com
Published: 2021-05-16T00:00:00+00:00


Applying the SRP

Returning to the example, one way to separate these responsibilities could be by moving each of the functions of the UseCase class to others, like this :

1 class UseCase{ 2 constructor(repo, notifier){ 3 this.repo = repo; 4 this.notifier = notifier; 5 } 6 7 doSomethingWithTaxes(){ 8 console.log("Do something related with taxes ...") 9 } 10 11 saveChanges(){ 12 this.repo.update(); 13 } 14 15 notify(){ 16 this.notifier.notify("Hi!") 17 } 18 } 19 20 class Repository{ 21 add(){ 22 console.log("Adding in database"); 23 } 24 25 update(){ 26 console.log("Updating in database..."); 27 } 28 29 remove(){ 30 console.log("Deleting from database ..."); 31 } 32 33 find(){ 34 console.log("Finding from database ..."); 35 } 36 } 37 38 39 class NotificationService{ 40 notify(message){ 41 console.log("Sending message ..."); 42 console.log(message); 43 } 44 } 45 46 47 function start(){ 48 const repo = new Repository() 49 const notifier = new NotificationService() 50 const myUseCase = new UseCase(repo, notifier) 51 52 myUseCase.doSomethingWithTaxes(); 53 myUseCase.saveChanges(); 54 myUseCase.notify(); 55 } 56 57 start();



Download



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.